<?php
/**
 *  
 * @package package_name
 * @author Mervin.Wong<mervin0502@163.com>
 * @Copyright
 * @license  http://www.apache.org/licenses/LICENSE-2.0
 * @version 0.1.0
 * @date 2013-2-24下午9:08:55
 *
 */
  
 /**
  * CanGoo User 模型
  * 用户管理 模型
  * @package  admin
  * @subpackage controllers
  * @category admin
  * 
  * 
  */
 class User_model extends CI_Model{
 	
 	/**
 	 * 构造函数
 	 */
 	public function __construct(){
 		parent::__construct();
 		
 		$this->load->database();
 	}
 	
 	/**
 	 * 获取所有的用户
 	 * @access public
 	 * @param array $field 字段数组
 	 * @return array|bool description
 	 */
 	public function get_users($field){
 		$this->db->select($field);
 		$this->db->from('user');
 		$query = $this->db->get();
 		if($query->num_rows > 0){
 			return $query->result_array();
 		}else{
			return false; 			
 		}
 		
 	}
 	
 	/**
 	 * 获取一条记录
 	 * @access public
 	 * @param int $uid description
 	 * @return array|bool 
 	 */
 	public function get_one($uid){
 		$this->db->select('*');
 		$this->db->from('user');
 		$this->db->where('uid', $uid);
 		$query = $this->db->get();
 		if($query->num_rows > 0){
 			return $query->row_array();
 		}else{
 			return false;
 		}
 	}
 	
 	/**
 	 * 获取对应用户下的所有的文章数
 	 * @access public
 	 * @param int $uid description
 	 * @return int 文章数
 	 */
 	public function get_post_count($uid){
 		$this->db->select('bpid');
 		$this->db->from('blog_post');
 		$this->db->where('uid', $uid);
 		$query = $this->db->get();
 		return $query->num_rows;
 	}
 	/**
 	 * 插入一个用户记录
 	 * @access public
 	 * @param array $data 用户表字段值数组
 	 * @return  int|bool description
 	 */
 	public function insert($data){
 		$this->db->insert('user', $data);
 		if($this->db->affected_rows() > 0){
 			return $this->db->insert_id();
 		}else{
 			return false;
 		}
 		
 	}
 	
 	/**
 	 * 更新一条记录
 	 * @access public
 	 * @param int $uid description
 	 * @param array $data 更新的字段值
 	 * @return bool description
 	 */
 	public function update($uid, $data){
 		$this->db->where('uid', $uid);
 		$this->db->update('user', $data);
 		if($this->db->affected_rows() > 0){
 			return true;
 		}else{
 			return false;
 		}
 	}
 	
 	/**
 	 * 删除一条用户记录
 	 * @access public
 	 * @param int $uid description
 	 * @return void description
 	 */
 	public function delete($uid){
 		//在删除一个用户时，同时也将所有用到UID的表进行更新
 		
 		//blog_post
 		$this->db->set('uid', 0);//设置uid=0
 		$this->db->where('uid', $uid);
 		$this->db->update('blog_post');
 		
 		$this->db->where('uid', $uid);
 		$this->db->delete('user');
 		if($this->db->affected_rows() > 0){
 			return true;
 		}else{
 			return false;
 		}
 	}
 	
 	/**
 	 * 重复性检测
 	 * @access public
 	 * @param string $value 字段值
 	 * @param string $field 字段
 	 * @param int $uid description
 	 * @return bool description
 	 */
 	public function check($value, $field, $uid){
 		$this->db->select($field);
 		$this->db->from('user');
 		$this->db->where($field, $value);
 		if($uid != 0){
 			$this->db->where('uid !=', $uid);
 		}
 		$query = $this->db->get();
 		if($query->num_rows > 0){
 			return true;
 		}else{
 			return false;
 		}
 		
 	}
 }
/* End of file user_model.php */
/* Loaction : ./apps/admin/models/user_model.php */
